﻿// <copyright file="Album.cs" company="Microsoft Corporation">
// Copyright (c) 2008 All Right Reserved
// </copyright>
// <author>Michael S. Scherotter</author>
// <email>mischero@microsoft.com</email>
// <date>2008-11-21</date>
// <summary>Photobucket Album</summary>

namespace Photobucket
{
    using System;
    using System.Collections.Generic;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;

    /// <summary>
    /// Photobucket album
    /// </summary>
    public class Album
    {
        #region Properties
        /// <summary>
        /// Gets or sets the album name
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets the photo count in the album
        /// </summary>
        public int PhotoCount { get; set; }

        /// <summary>
        /// Gets or sets the sub-album count in the album
        /// </summary>
        public int AlbumCount { get; set; }

        /// <summary>
        /// Gets or sets the username of the album
        /// </summary>
        public string UserName { get; set; }

        /// <summary>
        /// Gets or sets the video count in the album
        /// </summary>
        public int VideoCount { get; set; }

        /// <summary>
        /// Gets or sets the media in the album
        /// </summary>
        public IEnumerable<Media> Media { get; set; }

        /// <summary>
        /// Gets or sets the sub-albums in the album
        /// </summary>
        public IEnumerable<Album> SubAlbums { get; set; }
        #endregion

        #region Methods

        /// <summary>
        /// Output the property names and values
        /// </summary>
        /// <returns>a string formatted the property names and values</returns>
        public override string ToString()
        {
            return Synergist.Utility.GetProperties(this);
        }

        #endregion
    }
}
